package com.kx.mybatis.mapper;

import com.kx.mybatis.pojo.User;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * @ClassName User
 * @Description
 * @Author sun
 * @Date 2021/5/12 16:28
 * @Version 1.0
 **/
public interface UserMapper {
    User findUserById(int id);

    List<User> findAllUser();

    //可能会出现错误，因为role可能对应一个user，也可能对应多个，所以需要使用list集合接受返回数据
    List<User> findUserByRole(int role);

    //有多个参数时需要使用@Param注解指明参数名
    User findUserAndPwd(@Param("user") String username,@Param("pwd") String password);

    //使用map传递多个参数,sql中通过key来获取参数
    User findUserMap(Map map);

    //模糊查询,sql语句使用concat()函数进行字符串拼接
    List<User> findUserLike(String realName);

    //进行增删改操作时，需要进行提交事务
    void addUser(User user);

    //添加数据后获取自增主键
    void addUserWithAutoId(User user);

    int updateById(int id);

    int updateUser(User user);

    int deleteUserById(int id);

}
